let server = require("express")();
let mysql = require("mysql");

// 解决跨域
server.all("*", function(req, res, next) {
    //设置允许跨域的域名，*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin", "*");
    //允许的header类型
    res.header("Access-Control-Allow-Headers", "content-type");
    //跨域允许的请求方式 
    res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
    if (req.method.toLowerCase() == 'options')
        res.send(200); //让options尝试请求快速结束
    else
        next();
})

//链接mysql
let sql = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '12345',
    database: 'test'
});
sql.connect();
//查询所有案例详情
server.get("/caselist", function(request, response) {
        let solution = request.query.callback
        sql.query("select * from vp_case", function(error, date) {
            if (error) {
                console.log(error)
                response.end(error)
                return;
            }
            let stringdate = JSON.stringify(date);
            response.end(`${solution}(${stringdate})`)
        })
    })
    //查询某一条案例
server.get("/case", function(request, response) {
    let id = request.query.id
    sql.query(`select * from vp_case where id =${id}`, function(error, date) {
        if (error) {
            console.log(error)
            response.end(error)
            return;
        }
        let stringdate = JSON.stringify(date);
        response.end(stringdate)
    })
})


//查询所有传悦观点列表
server.get("/solutionlist", function(request, response) {
    let solution = request.query.callback
    sql.query("select * from vp_list", function(error, date) {
        if (error) {
            console.log(error)
            response.end(error)
            return;
        }
        let stringdate = JSON.stringify(date);
        response.end(`${solution}(${stringdate})`)
    })
})

//查询某一传悦观点列表
server.get("/solution", function(request, response) {
    let id = request.query.id
    sql.query(`select * from vp_list where id =${id} `, function(error, date) {
        if (error) {
            console.log(error)
            response.end(error)
            return;
        }
        let stringdate = JSON.stringify(date);
        response.end(stringdate)
    })
})
server.listen(81)